<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //  1.reverse 反转数组 1.不传参 2.会改变原始数组 3.返回值是改变之后的数组
      var str = "wangqingzhao";
      var a = str.split("");
      a.reverse();
      console.log(a);
      //reverse可以用来实现字符串反转
      var str = "abcdefg";
      // 反转字符串 ；
      var arr = str.split("");
      arr.reverse();
      // console.log(arr);
      // 变成字符串
      var newstr = arr.toString();
      console.log(newstr);

      //   2.join ：把数组通过指定符号连接成字符串 ；
      var arr = ["a", "b", "c", "d"];
      var str = arr.join("-");
      console.log(str);
      var arr_1 = ["a", "b", "c", "d"];
      var str1 = arr_1.join("");
      console.log(str1);
      // join 是把数组里面的每一项内容链接起来，变成一个字符串

      // 可以自己定义每一项之间链接的内容 arr.join(要以什么内容链接)

      // 不会改变原始数组，返回值是：链接好的字符串
      //3.
      var str = "abcdefg";
      var a = str.split("");
      var b = a.reverse();
      var c = b.join("");
      console.log(c);
      // 链式操作；
      var res = str.split("").reverse().join("");
      console.log(res);

      //   3.连接多个数组 concat;
      var arr = [1, 2, 3];
      var arr2 = [4, 5];
      var arr3 = [7, 8];
      //concat:1.使用方法是===要拼接的数组1.(要拼接的数组2，要拼接的数组3)
      //2.返回值是 拼接之后的新数组，不会改变原来的数组
      var res = arr.concat(arr2, arr3);
      console.log(res);

      // 4.数组的排序 sort 1.改变原数组 2.返回值是改变之后的数组 3.参数是function (a, b) {return a - b;}一个函数

      var arr = [1, 7, 2, 10, 7, 9];
      var res = arr.sort(function (a, b) {
        // return a-b;  //如果返还的是a-b  那么是一个从小到大排序；b-a  反序
        return b - a;
      });
      console.log(res);
      var brr = [3, 7, 2, 10, 7, 9];
      brr.sort(); //特殊：参数如果不传函数 那么排序会按照 ASSCI 码来排序 ，不是真正的数字排序 ；
      console.log(brr);
    </script>
  </body>
</html>
